home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 4 / The Arsenal Files 4 (Arsenal Computer).ISO / casm / au116-as.exe / UTIL / OLD.CPP < prev    next >
C/C++ Source or Header  |  1994-08-07  |  2KB  |  67 lines

  1. #include "..\au.hpp"
  2. /*****************************************************************************/
  3. BYTE archive_is_old(int version)
  4. {
  5.     switch (version)
  6.     {
  7.         case 1:  case 2:  case 4:  case 5:    case 6:  case 7:  case 10:
  8.         case 12: case 13: case 14: case 15: case 16: case 19: case 20: case 21:
  9.         case 22: case 23: case 24: case 25: case 26: case 27: case 29: case 32:
  10.         case 33: case 34: case 35: case 36: case 37: case 38: case 39: case 40:
  11.         case 41: case 42: case 43: case 56: case 62: case 78:
  12.             return TRUE;
  13.         default:
  14.             return FALSE;
  15.     }
  16. }
  17. /*****************************************************************************/
  18. BYTE file_is_not_optimal(int method)
  19. {
  20.     switch (method)
  21.     {
  22.         case 2:  case 3:  case 4:  case 5:
  23.         case 7:  case 9:  case 11: case 12: case 13: case 14: case 15:
  24.         case 17: case 18: case 19: case 20: case 22: case 23: case 26:
  25.         case 28: case 29: case 35: case 37: case 38: case 39: case 40:
  26.             return TRUE;
  27.         default:
  28.             return FALSE;
  29.     }
  30. }
  31. /*****************************************************************************/
  32. BYTE file_is_stored(int method)
  33. {
  34.     if (method == 1)
  35.         return TRUE;
  36.     else
  37.         return FALSE;
  38. }
  39. /*****************************************************************************/
  40. BYTE ARC_HANDLE::archive_is_optimal(AU *au, char *file_name)
  41. {
  42.     ARC_RECORD record;
  43.     int ret_code;
  44.     BYTE optimal = TRUE;
  45.  
  46.     for (;;)
  47.     {
  48.         ret_code = get_record(au, &record);
  49.         if (ret_code == EOF)
  50.             break;
  51.         else if (ret_code == -2)
  52.         {
  53.             add_to_bad_list(au, au->source_directory, file_name, 0);
  54.             return -1;
  55.         }
  56.         else if (ret_code == -3)
  57.             return -1;
  58.  
  59.         if (file_is_not_optimal(record.method) &&
  60.             !file_is_stored(record.method))
  61.         {
  62.             optimal = FALSE;
  63.         }
  64.     }
  65.     return optimal;
  66. }
  67.